PACE UNIVERSITY

 

SEIDENBERG SCHOOL OF COMPUTER SCIENCE AND INFORMATION SYSTEMS

 

 

DEPARTMENT:

 

Computer Science

 

 

SUBJECT CODE/ COURSE TITLE:

 

CS232/Computer Organization

 

 

CLASS HOURS:

 

4 Hours per Week

 

 

CREDITS:

 

4

 

 

PREREQUISTE:

 

CS 122 or IS 323

 

 

TEXTBOOKS:

 

M. Mano, Computer System Architecture, 3rd Edition, Prentice Hall, 1993.

 

REFERENCE:

 

Internet.

 

Computer Magazines and Journals

 

 

SEMESTER:

 

Spring 2012

 

 

Preparer:

 

Dr. A. Joseph

 

 


Course Description: This course provides basic knowledge of digital computer organization and design at the machine and microprogramming levels with the associated assembly language programming concepts. It highlights such topics as the basic organization and architecture of a digital computer system with emphasis on the central processing unit and memory.

 

 

 

 

 


PROFESSOR’S PROFILE

 

Professor:

 

Dr. A. Joseph

Office:

 

163 Williams St., 2nd floor, Room 231

Telephone:

 

212 346 1492

Email:

 

ajoseph2@pace.edu

Office Hours:

 

Wednesday: 9:00am-2:00pm

 

COURSE PROFILE

 

EVALUATION AND ASSESSMENT

 

Grading Policy

 

Final examination:

 

30%        (30%)

In-class examinations (5 -- 30 minutes exams )

 

24%         (24%) [best 4 of 5]

In-Class Quizzes

Individual:

Team:

Team/class participation:

Coordinator/Reporter/observer (document):

Journal:

Class Activity/Preparation & in class Performance

 

15%         (15%)

7%           (7%) [Lowest grade is dropped]

8%           (8%) [Lowest grade is dropped]

16%         (16%)

3%           (3%)

10%           (10%) (Due 2/8, 2/29, 4/4, & 4/30)

3%           (3%)

Homework:

 

0%           (0%) (No late homework is accepted.)

Project/Report & Presentation:

 

15%         (15%)

Team members’ average performance (bonus):

Above 87%:

76% -- 86%:

65% -- 75%:

Below 65%:

 

0 – 10%      (0%)

10%

6%

3%

0%

Extra credit assignment (optional):

 

Note: Only for students who are otherwise fulfilling all of the other course requirements. It is not intended to be a substitute for any of the regular class assignments.

 

10% (Due by week 12 and no later)

 

Note 1: All exams are cumulative; the journal grades are also cumulative.

Note 2: Non-team member students are assigned grades based on the policy outlined within the parentheses.

Note 3: The final exam will consist of two parts: one is common to New York and Pleasantville.

 

Final grade Determination

 

Above 92%
 
A

90% -- 92%

 

A-

87% -- 89%

 

B+

83% -- 86%

 

B

80% -- 82%

 

B-

76% -- 79%

 

C+

70% -- 75%

 

C

65% -- 69%

 

D+

60% -- 64%

 

D

Below 60%

 

F

Note: Grade is computed to the nearest whole number.


Program Outcome

 

An ability to design, implement and evaluate a computer-based systems, process, component, or program to meet desired needs.

 

Learning Objectives and Outcomes

 

A student in the computer organization course will achieve the following learning objectives by attaining the associated outcomes:

 

Objective #1

 

Students will acquire sound knowledge in the key principles and practices used in the design and analysis of a digital computer system.

 

Outcomes #1

 

1a.    Demonstrate an understanding of the basic building blocks of the functional units of a digital computer system.

1b.    Use truth tables and algebraic expressions to describe the functions of simple combinational circuits, design circuits from these descriptions, design basic sequential circuits from truth tables, and analyze related combinational and sequential circuits,

1c.    Demonstrate the ability to explain the storage of numeric and nonnumeric data, able to discuss the relative utility of signed-magnitude and two’s complement representation of negative integers from the point-of-view of a digital computing device.

1d.    Explain the steps involve in the design of a basic digital computer system.

 

Objective #2

 

Students will understand the differences among the main types programming languages relative to their effect on a digital computer processing speed; relationships between the types of programming languages from a user perspective; and tradeoffs between hardware and software in digital systems design and implementation; as well as develop the analytical skills needed troubleshoot assembly language programs.

 

Outcomes #2

 

2a.    Demonstrate through descriptions, discussions, and/or illustrations an understanding of the purpose of an assembly language, its programming objectives, and its relationship to machine language and high-level languages.

2b.    Understand and be able to explain the concepts of assembly language directives, operators, macros, and program structure

2c.    Demonstrate the ability to analyze assembly language programs and to translate simple high-level language programs into corresponding assembly language programs.

2d.    Discuss the issues involved in hardware or software implementation of an instruction in a digital computer instruction set.

2e.    Understand and be able to distinguish between logical and physical memory addresses and data storage.   

2f.     Demonstrate the ability to discuss, with appropriate illustrations, the concepts of subroutine calls and interrupts at the assembly language level.

 

Objective #3

 

Students will have a thorough knowledge of the main functional units (bus system, memory unit, central processing unit, and input/output) of the Von Neumann model of a digital system and their interrelationships.

 

Outcomes #3

 

3a.    Demonstrate an understanding of a digital computer bus system and its role in the transfer of information between the functional units.

3b.    Discuss the layout as well as logical and physical functions of the central processing unit, memory unit, and input-output devices with the aid of appropriate examples.

3c.    Explain the interaction between the central processing unit, memory unit, and input-output devices in the processing of information.

3d.    Illustratively describe physical structure of disk drives; encoding methods, formats, and formatting process for disks; and some of the examples of hard disk interfaces. 

 

Objective #4

 

Students will know the general ways used to improve the performance of computing systems, understand the different levels at which these performance improvements are made, and are able to identify the main types of multiprocessor architectures.

 

Outcomes #4

 

4a.    Explain basic instruction level parallelism using pipelining and the major hazards that may occur.

4b.    Discuss the concept of parallel processing beyond the classical Von Neumann model.

4c.    Describe alternative architectures such as SIMD, MIMD, and VLIW.

4d.    Explain the concept of interconnection networks and characterize the different approaches used.

4e.    Discuss memory management in multiprocessing systems with emphasis on the issues involve.

 

Objective #5

 

Students will develop team-building, social, and organizational skills that they can further develop in other classes and in their professional careers.

 

Outcomes #5

 

5a.    Demonstrate an ability to work effectively in teams.

5b.    Demonstrate the ability to exercise effective oral and written communication skills.

 

 

Tentative Examination Schedule:

 

Course Section

In-class Exam Dates

Project Submissions & Presentation

Final Exam Date

CS 232/CRN: 20226

2/13; 2/27; 3/19; 4/2; & 4/23/2012

April 18, 2012

May 7, 2012

 

Class meeting Schedule

 

Course Section

Day, Time, and Location of Class Sessions

First and Last Day of Class

CS 232/CRN: 20226

Monday: 2:30pm – 4:20pm;

Wednesday: 2:30pm4:20pm;

First class: January 18, 2012

Last class: May 8, 2012

 

 

Note: SCSIS Student Responsibilities is attached to this syllabus

 

Note 1: To facilitate and promote learning, you are encouraged to download the lectures from Blackboard and study them along with the material in the textbook. All lessons will be posted on Blackboard within a week of the lesson being introduced. Use the textbook to complement and perhaps, at times, expand and elucidate ideas presented in the lecture notes. Note that mere reading is not studying.

 

Note 2: Lessons will be presented using the team-based learning strategy inclusive of many techniques such as those highlighting active learning, inquiry-based lecture-discussion and problem based learning, collaborative learning and problem-solving. There will be many opportunities to practice problem solving and the beginning of and throughout each lesson. The solutions to the homework problems will be provided to you in class as a means to explain the course concepts or through Blackboard postings. To get the most out of the course, you are encouraged to follow and keep up with the reading assignments and genuinely attempt each homework problem before coming to class. For those problems you cannot solve, determine the nature of your difficulty and bring it up in class or during office hours. The idea is to come to class prepared and willing to learn as well as ready to ask questions about the course materials and problems. You will be tested as individuals and as teams at the beginning of each major phase of course content, which is about four or five. The mantra of this course is learning, learning, learning and more learning!

 

Note 3: In the interest of learning, it is very important that you foster an inquisitive mind – do all the required assignments. Failing to do so may diminish your ability to get the most out of each lesson and the class. Studying is NOT mere reading of the textbook and class notes and slides, it’s an intimate interaction between you and the information provided to you in the class notes and slides and the textbook; it requires that you be mindful of the information.

 

NOTE 4: LEARNING IS AN ACTIVE PROCESS – IT IS MORE THAN PASSING EXAMS; IT’S ABOUT USING WHAT’S LEARNT TO DO SOMETHING MEANINGFUL AND PRACTICAL. TO LEARN SOMETHING IS TO UNDERSTAND IT AND TO BE ABLE TO USE IT. IT’S ABOUT KNOWLEDGE TRANSFER.

 

Note 5: Learning is the central objective of this course; the teaching will be done to facilitate learning.

 

Note 6: It is very important you read and familiarize yourself with SCSIS Statement of Student Responsibilities (see Blackboard).

 

Note 7: You should devote at least 8 hours per week to prepare for the course – more may be needed depending on your rate of sufficiently understanding the course content and mastering it applications as well as being successful achieving your desired grade.

 

Note 8: You are strongly encouraged to spend an appropriate length of time to research, develop, and implement the project; during the development and implementation process seek my help as needed to resolve any issue you may encounter. Your project should reflect your personal thoughts and understanding of the assignment and must be built on sound theory that is differentiable from your personal thoughts.


TOPICS COVERED

 

Weeks

Topics

Assignments

 

 

 

1-4

Digital logic circuits (logic gates, Boolean algebra, combinational circuits, and flip-flops);

Digital components (decoders, multiplexers, registers, counters tri-state switches, buses, and memory units); and Data representation (data types, 2’s complement, fixed-point, and floating-point); Boot sequence and POST; Master boot record and partitions; Directories and file systems, and hiding information; Main issues disk drives units; Physical construction of disk drives -- heads, tracks, and cylinders; Formation of addressable elements; Encoding methods and formats for disks; Formatting process; and Hard disk interfaces.

Read: Chap. 1.

Prob.: 1, 3-6, 7, 11, 14, 15, and 17.

Read: Chap 2.

Prob.: 3, 4, 8, 12, 16, and 19-23.

Read: Chap. 3.

Prob.: 1-5, 7-10, 13, 16-17, 20, and 23.

 

 

 

5-6

Register Transfer and Microoperations: register transfer (language, and bus and memory); Microoperations (shift, logic, and arithmetic); and Arithmetic logic shift unit (ALU).

Read: Chap. 4.

Prob.: 1-4, 6-9, 11, 18, 19, 21 and 23.

 

 

 

7-8

Basic computer Organization and Design: Instruction codes; Timing and control; Instruction cycle; Computer instructions; Computer registers; Instruction cycle; Memory reference instructions; Input/output and interrupt; and Design of accumulator logic and basic computer

Read: Chap. 5.

Prob.:1-7, 9-10, 12, and 15-18

 

 

 

8-9

Programming  the Basic Computer: Machine language; Assembly language; Assembler; Program loops, subroutines, and Programming arithmetic and logic operations

Read: Chap. 6.

Prob. 1-7, 11-14, and 18

 

 

 

10-13

Central Processing Unit (CPU): Register and stack organization; Instruction formats; Addressing modes; Data transfer and manipulation; Program control; and Comparison of CISC and RISC architectures.

Read Chap.: 8.

Prob.: 6-9, 11, and 13-16.

 

 

 

12

Project presentation and submission: projects presented to class and submitted.

 

 

 

 

Optional

Memory Organization: Memory hierarchy; Main memory; Auxiliary memory; Associative memory; Cache memory, Virtual memory, and Memory management.

Read Chap. 12.

Prob.: 1-8, 13, 15-20, 23, and 24.

 

 

 

Optional

Pipeline and Multiprocessing: Implementations of simple datapaths; Instruction pipelining; Introduction to instruction-level parallelism; Superscalar architecture; Branch prediction; Prefetching; Multithreading; Introduction to SIMD, MIMD, VLIW, and EPIC; Systolic architecture; Interconnection networks (hypercube, shuffle-exchange, mesh, and crossbar); Shared memory systems; Cache coherence; and Memory models and memory consistency.

Read Chap. 9 (sections 1, 2, 3, 4, 6, 7) and 13 (sections 1, 2, 4, 5)

Prob.: 9/2, 3, 4, 7, 9 and 13/1, 3, 6, 8, 13, 14.

 

 

 

14

Final Examination.

 

 

Note 1: Each new topic will begin with a quiz – this quiz will be done individually and as a team.

 

 

 

Note 2: This course is structured around purposely formed diverse small collaborative groups designed to operate in a team-based learning environment. Students are encouraged to work together in their respective groups to form effective and productive teams where individuals share their learning experiences in course, help each other with learning difficulties, spend time to get to know each other, develop cultural awareness, diversity sensitivity, consensus building skills, and spend time each week to discuss and help one another with the course work (content and assignments). Each team member is responsible for the completion and submission of each assignment. Team members will be asked to sit in adjacent seats. Each team member will be individually graded as well as graded as teams and by their team members. Exams are either individual or team effort. All exams are closed book.

 

Team project: Students may be put teams of two to five individuals who will participate in a product development or research supported by a technical report. The project may involve the use of a low level and/or high-level programming or algorithms. In the project, students will satisfy a market niche and/or solve a technical problem, and then demonstrate their knowledge, understanding, and implications of the solution. Grade assignment to individual team members will be based upon the member’s personal involvement with his or her team’s project along but not limited to the following items: programming, codes testing and correction, documentation, report writing, proofreading, and any combination of the above.

 

Web support: This course will be supported with most or all of the following Blackboard postings: lesson questions, lessons (PowerPoint), instructions and guidelines pertaining to the course, computer architecture and related news, team and class discussions boards, email correspondence about the course, homework solutions, examination grades, and miscellaneous course related activities and information including computer organization related links to the Internet, teamwork and team-building skills.

 

Supplementary materials: Handouts in class or web postings of current events and issues affecting computer architecture.

 

Business Model: Each team may be viewed as a small business that is seeking creative and innovative ways to maximize its product, academic outcome or average group grade. A satisfactory product is the break-even team average grade of 78%. Teams getting average grades above 78% are profitable enterprises.

 

In class activity and participation: Students are recommended to bring to class current newsworthy events in computer organization/architecture and related news to share with the class. Students will inform the class of the news events and their significance to computing.  

 

Since most learning takes place outside of the classroom, teams are encouraged to function outside of the classroom. Team activities will be reinforced inside of the class during the lessons. Student teams are encouraged to function cohesively and to participate in all class activities.  

 

Each team member must note that your friendliness towards each other, the amount of activity each team member bring to bear within and on behalf of the team, and the intensity of the team interaction contribute to the team’s performance and the performance of team member.

 

Students are strongly encouraged to download the posted lessons from Blackboard, review them, and should ask pertinent questions about the material in these lessons.

 

Every effort will be made to present each lesson using the storytelling, problem solving, or problem based learning strategies supported with subsequent discussion on the central points of the lesson.

 

The key elements of a story are the following: casualty, conflict, complication, and character.

 

The following excerpts about collaborative learning are from research documents:

·         In the university environment, educational success and social adjustments  depend primarily on the availability and effectiveness of developmental academic support systems.

 

·         Most organized learning occurs in some kind of group  group characteristics and group processes significantly contribute to success or failure in the classroom and directly effect the quality and quantity of learning within the group.

 

·         Group work invariably produces tensions that are normally absent, unnoticed, or suppressed in traditional classes.  Students bring with them a variety of personality types, cognitive styles, expectations about their own role in the classroom and their relationship to the teacher, peers, and the subject matter of the course.

 

·         Collaborative learning involves both management and decision-making skills to choose among competing needs.  The problems encountered with collaboration have management, political, competence, and ethical dimensions

 

·         The two key underlying principles of the collaborative pedagogy are that active student involvement is a more powerful learning tool than the passive attendance and that students working in groups can make for more effective learning than students acting alone.   The Favorable outcomes of collaborative learning include greater conceptual understanding, a heightened ability to apply concepts, and improved attendance.  Moreover, students become responsible for their own learning is likely to increase their skills for coping with ambiguity, uncertainty, and continuous change, all of which are characteristics of contemporary organizations.

 

Who creates a new activity in the face of risk and uncertainty for the purpose of achieving success and growth by identifying opportunities and putting together the required resources to benefit from them?

 

Creativity is the ability to develop new ideas and to discover new ways to of looking at problems and opportunities.

Innovation is the ability to apply creative solutions to those problems and opportunities to enhance or to enrich people’s lives